/*
 * EngranajeFisico.h
 *
 *  Created on: 13/10/2013
 *      Author: Juliansci
 */

#ifndef ENGRANAJEFISICO_H_
#define ENGRANAJEFISICO_H_
#include "EntidadFisica.h"
#include <list>
class EngranajeFisica : public EntidadFisica {

public:
	EngranajeFisica(b2World* world, float x, float y, float ancho, float alto, string tipo);
	b2Body* getAmarre();
	b2Joint* getJoint();
	b2RevoluteJointDef* getRevoluteJointDef();
	void setNuevaJoint(b2Joint* jointNueva);
	void agregarEngranajeAConectar(EntidadFisica* engranaje);
	virtual ~EngranajeFisica();
	void jointear(b2World* world);


private:
	b2Body* amarre;
	b2RevoluteJointDef* jd;
	b2Joint* joint;
	list<EntidadFisica*> listaEngranajesConectados;
};

#endif /* ENGRANAJEFISICO_H_ */
